JavaScript ãã¿ãŒã³ãããã³ã°ã¬ãŒããšæ¡ä»¶ä»ãåå²ä»£å ¥ãæ¢æ±ããŸããããããã¯ãªãŒã³ã§ãèªã¿ããããä¿å®æ§ã®é«ã JavaScript ã³ãŒããæžãããã®åŒ·åãªã¢ãããŒãã§ããè€éãªæ¡ä»¶ããžãã¯ããšã¬ã¬ã³ãã«åŠçããæ¹æ³ãåŠã³ãŸãããã
JavaScript ãã¿ãŒã³ãããã³ã°ã¬ãŒã: ã¯ãªãŒã³ãªã³ãŒãã®ããã®æ¡ä»¶ä»ãåå²ä»£å ¥
JavaScript ã¯é·å¹Žã«ããã倧ããé²åããŠãããæ°ãã ECMAScript (ES) ãªãªãŒã¹ããšã«ãéçºè ã®çç£æ§ãšã³ãŒãå質ãåäžãããæ©èœãå°å ¥ãããŠããŸãããããã®æ©èœã®äžã§ããã¿ãŒã³ãããã³ã°ãšåå²ä»£å ¥ã¯ãããç°¡æœã§èªã¿ãããã³ãŒããæžãããã®åŒ·åãªããŒã«ãšããŠç»å ŽããŸããããã®ããã°æçš¿ã§ã¯ããããã®æ©èœã®ããŸãè°è«ãããŠããªãããããéåžžã«äŸ¡å€ã®ããåŽé¢ãã€ãŸããã¿ãŒã³ãããã³ã°ã¬ãŒããšæ¡ä»¶ä»ãåå²ä»£å ¥ãžã®å¿çšã«ã€ããŠæãäžããŠãããŸãããããã®ãã¯ããã¯ããããã¯ãªãŒã³ãªã³ãŒããä¿å®æ§ã®åäžãããã³è€éãªæ¡ä»¶ããžãã¯ãåŠçããããã®ãããšã¬ã¬ã³ããªã¢ãããŒãã«ã©ã®ããã«è²¢ç®ããããæ¢ããŸãã
ãã¿ãŒã³ãããã³ã°ãšåå²ä»£å ¥ã®çè§£
ã¬ãŒãã«ã€ããŠæãäžããåã«ãJavaScript ã§ã®ãã¿ãŒã³ãããã³ã°ãšåå²ä»£å ¥ã®åºæ¬ã埩ç¿ããŸãããããã¿ãŒã³ãããã³ã°ã䜿çšãããšãããŒã¿æ§é ãããã®åœ¢ç¶ã«åºã¥ããŠå€ãæœåºã§ããŸãããåå²ä»£å ¥ã䜿çšãããšãæœåºãããå€ã倿°ã«ç°¡æœã«å²ãåœãŠãããšãã§ããŸãã
åå²ä»£å ¥: ç°¡åãªåŸ©ç¿
åå²ä»£å ¥ã䜿çšãããšãé åããå€ãã¢ã³ããã¯ãããããªããžã§ã¯ãããããããã£ãåå¥ã®å€æ°ã«ã¢ã³ããã¯ãããã§ããŸããããã«ãããã³ãŒããç°¡çŽ åãããèªã¿ããããªããŸããäŸïŒ
const person = { name: 'Alice', age: 30 };
const { name, age } = person;
console.log(name); // Output: Alice
console.log(age); // Output: 30
const numbers = [1, 2, 3];
const [first, second, third] = numbers;
console.log(first); // Output: 1
console.log(second); // Output: 2
console.log(third); // Output: 3
ããã¯ç°¡åã§ããæ¬¡ã«ããªããžã§ã¯ãããããããã£ãæœåºãããããç¹å®ã®æ¡ä»¶ãæºããããå Žåã«éããšãããããè€éãªã·ããªãªãèããŠã¿ãŸãããããããããã¿ãŒã³ãããã³ã°ã¬ãŒããç»å Žããå Žæã§ãã
ãã¿ãŒã³ãããã³ã°ã¬ãŒãã®ç޹ä»
JavaScript ã«ã¯ãäžéšã®é¢æ°åããã°ã©ãã³ã°èšèªãšåæ§ã®æç€ºçãªãã¿ãŒã³ãããã³ã°ã¬ãŒãã®çµã¿èŸŒã¿æ§æã¯ãããŸããããæ¡ä»¶åŒãšåå²ä»£å ¥ãçµã¿åãããŠåæ§ã®å¹æãå®çŸã§ããŸãããã¿ãŒã³ãããã³ã°ã¬ãŒãã¯åºæ¬çã«ãåå²ä»£å ¥ããã»ã¹ã«æ¡ä»¶ã远å ã§ããããã«ããããšã§ããããã®æ¡ä»¶ãæºããããå Žåã«ã®ã¿å€ãæœåºã§ããããã«ããŸããããã«ããããã¹ãããã `if` ã¹ããŒãã¡ã³ããè€éãªæ¡ä»¶ä»ãå²ãåœãŠãšæ¯èŒããŠãããã¯ãªãŒã³ã§å¹ççãªã³ãŒããåŸãããŸãã
`if` ã¹ããŒãã¡ã³ãã䜿çšããæ¡ä»¶ä»ãåå²ä»£å ¥
ã¬ãŒãæ¡ä»¶ãå®è£ ããæãäžè¬çãªæ¹æ³ã¯ãæšæºã® `if` ã¹ããŒãã¡ã³ãã䜿çšããããšã§ããããã¯ã次ã®ãããªãã®ã«ãªãããªããžã§ã¯ãããããããã£ãååšããç¹å®ã®æ¡ä»¶ãæºãããŠããå Žåã«ã®ã¿ããããã£ãæœåºããæ¹æ³ã瀺ããŠããŸãã
const user = { id: 123, role: 'admin', status: 'active' };
let isAdmin = false;
let userId = null;
if (user && user.role === 'admin' && user.status === 'active') {
const { id } = user;
isAdmin = true;
userId = id;
}
console.log(isAdmin); // Output: true
console.log(userId); // Output: 123
æ©èœçã§ãããæ¡ä»¶ã®æ°ãå¢ãããšãããã¯èªã¿ã«ãããããé¢åã«ãªããŸããã³ãŒããããŸã宣èšçã§ã¯ãããŸãããå¯å€å€æ°ïŒäŸïŒ`isAdmin` ãš `userId`ïŒã䜿çšããå¿ èŠããããŸãã
äžé æŒç®åãšè«ç AND (&&) ã®æŽ»çš
äžé æŒç®å (`? :`) ãšè«ç AND æŒç®å (`&&`) ã䜿çšããŠãå¯èªæ§ãšç°¡æœããåäžãããããšãã§ããŸãããã®ã¢ãããŒãã¯ãç¹ã«åçŽãªã¬ãŒãæ¡ä»¶ãæ±ãå Žåã«ãããã³ã³ãã¯ããªã³ãŒãã«ã€ãªããããšããããããŸããäŸïŒ
const user = { id: 123, role: 'admin', status: 'active' };
const isAdmin = user && user.role === 'admin' && user.status === 'active' ? true : false;
const userId = isAdmin ? user.id : null;
console.log(isAdmin); // Output: true
console.log(userId); // Output: 123
ãã®ã¢ãããŒãã§ã¯å¯å€å€æ°ãåé¿ã§ããŸãããè€æ°ã®æ¡ä»¶ãé¢ä¿ããŠããå Žåãèªã¿åããå°é£ã«ãªãå¯èœæ§ããããŸãããã¹ããããäžé æŒç®ã¯ç¹ã«åé¡ããããŸãã
é«åºŠãªã¢ãããŒããšèæ ®äºé
JavaScript ã«ã¯ãäžéšã®é¢æ°åããã°ã©ãã³ã°èšèªãšåæ§ã®ãã¿ãŒã³ãããã³ã°ã¬ãŒãå°çšã®æ§æã¯ãããŸããããæ¡ä»¶æãšåå²ä»£å ¥ãçµã¿åãããŠããã®æŠå¿µããšãã¥ã¬ãŒãã§ããŸãããã®ã»ã¯ã·ã§ã³ã§ã¯ãããé«åºŠãªæŠç¥ãæ¢æ±ããããåªãããšã¬ã¬ã³ã¹ãšä¿å®æ§ãç®æããŸãã
åå²ä»£å ¥ã§ã®ããã©ã«ãå€ã®äœ¿çš
æ¡ä»¶ä»ãåå²ä»£å ¥ã®åçŽãªåœ¢åŒã¯ãããã©ã«ãå€ã掻çšããŸããããããã£ãååšããªããã`undefined` ãšè©äŸ¡ãããå Žåã代ããã«ããã©ã«ãå€ã䜿çšãããŸããããã¯è€éãªã¬ãŒãã眮ãæãããã®ã§ã¯ãããŸããããåºæ¬çãªã·ããªãªãåŠçã§ããŸãã
const user = { name: 'Bob', age: 25 };
const { name, age, city = 'Unknown' } = user;
console.log(name); // Output: Bob
console.log(age); // Output: 25
console.log(city); // Output: Unknown
ãã ããããã¯è€éãªæ¡ä»¶ãçŽæ¥åŠçããŸããã
ã¬ãŒããšããŠã®é¢æ° (ãªãã·ã§ã³ãã§ãŒãã³ã°ãš Nullish Coalescing ã䜿çš)
ãã®æŠç¥ã§ã¯ãã¬ãŒããšããŠé¢æ°ã䜿çšããåå²ä»£å ¥ãšãªãã·ã§ã³ãã§ãŒãã³ã° (`?.`) ããã³ Nullish Coalescing æŒç®å (`??`) ãçµã¿åãããŠãããã«ã¯ãªãŒã³ãªãœãªã¥ãŒã·ã§ã³ãå®çŸããŸããããã¯ãç¹ã«åçŽãªçåœãã§ãã¯ã ãã§ã¯äžååãªè€éãªã·ããªãªã«å¯ŸããŠãã¬ãŒãæ¡ä»¶ãå®çŸ©ããããã®åŒ·åã§è¡šçŸåè±ããªæ¹æ³ã§ããèšèªã¬ãã«ã®ç¹å®ã®ãµããŒããªãã§ãJavaScript ã§å®éã®ãã¬ãŒããã«æãè¿ããã®ã§ãã
äŸïŒãŠãŒã¶ãŒãååšããèšå®ã null ãŸã㯠undefined ã§ãªããèšå®ã«æå¹ãªããŒããããå Žåã«ã®ã¿ããŠãŒã¶ãŒã®èšå®ãæœåºãããã·ããªãªãèããŠã¿ãŸãããã
const user = {
id: 42,
name: 'Alice',
settings: { theme: 'dark', notifications: true },
};
function getUserSettings(user) {
const settings = user?.settings ?? null;
if (!settings) {
return null;
}
const { theme, notifications } = settings;
if (theme === 'dark') {
return { theme, notifications };
} else {
return null;
}
}
const settings = getUserSettings(user);
console.log(settings); // Output: { theme: 'dark', notifications: true }
const userWithoutSettings = { id: 43, name: 'Bob' };
const settings2 = getUserSettings(userWithoutSettings);
console.log(settings2); // Output: null
const userWithInvalidTheme = { id: 44, name: 'Charlie', settings: { theme: 'light', notifications: true }};
const settings3 = getUserSettings(userWithInvalidTheme);
console.log(settings3); // Output: null
ãã®äŸã§ã¯ã
- ãªãã·ã§ã³ãã§ãŒãã³ã° (`user?.settings`) ã䜿çšããŠããŠãŒã¶ãŒãŸã㯠`settings` ã null/undefined ã®å Žåã§ããšã©ãŒãªãã§ `settings` ã«å®å šã«ã¢ã¯ã»ã¹ããŸãã
- Nullish Coalescing æŒç®å (`?? null`) ã¯ã`settings` ã null ãŸã㯠undefined ã®å Žåã«ããã©ãŒã«ããã¯å€ãšã㊠`null` ãæäŸããŸãã
- 颿°ã¯ã¬ãŒãããžãã¯ãå®è¡ãã`settings` ãæå¹ã§ãããŒãã 'dark' ã§ããå Žåã«ã®ã¿ããããã£ãæœåºããŸãããã以å€ã®å Žåã¯ã`null` ãè¿ããŸãã
ãã®ã¢ãããŒãã¯ãæ·±ããã¹ãããã `if` ã¹ããŒãã¡ã³ããããã¯ããã«èªã¿ããããä¿å®æ§ãé«ããèšå®ãæœåºããããã®æ¡ä»¶ãæç¢ºã«äŒããŸãã
å®è·µçãªäŸãšãŠãŒã¹ã±ãŒã¹
ãã¿ãŒã³ãããã³ã°ã¬ãŒããšæ¡ä»¶ä»ãåå²ä»£å ¥ãå ãå®éã®ã·ããªãªãæ¢ã£ãŠã¿ãŸãããã
1. ããŒã¿æ€èšŒãšãµãã¿ã€ãº
ãŠãŒã¶ãŒããŒã¿ãåä¿¡ãã API ãæ§ç¯ããŠãããšããŸãããã¿ãŒã³ãããã³ã°ã¬ãŒãã䜿çšããŠãåŠçåã«ããŒã¿ã®æ§é ãšå å®¹ãæ€èšŒã§ããŸãã
function processUserData(data) {
if (!data || typeof data !== 'object') {
return { success: false, error: 'Invalid data format' };
}
const { name, email, age } = data;
if (!name || typeof name !== 'string' || !email || typeof email !== 'string' || !age || typeof age !== 'number' || age < 0 ) {
return { success: false, error: 'Invalid data: Check name, email, and age.' };
}
// further processing here
return { success: true, message: `Welcome, ${name}!` };
}
const validData = { name: 'David', email: 'david@example.com', age: 30 };
const result1 = processUserData(validData);
console.log(result1);
// Output: { success: true, message: 'Welcome, David!' }
const invalidData = { name: 123, email: 'invalid-email', age: -5 };
const result2 = processUserData(invalidData);
console.log(result2);
// Output: { success: false, error: 'Invalid data: Check name, email, and age.' }
ãã®äŸã¯ãåä¿¡ããŒã¿ã®æ€èšŒãç¡å¹ãªåœ¢åŒãŸãã¯äžè¶³ããŠãããã£ãŒã«ãã®æ£åžžãªåŠçãããã³å ·äœçãªãšã©ãŒã¡ãã»ãŒãžã®æäŸæ¹æ³ã瀺ããŠããŸãã颿°ã¯ã`data` ãªããžã§ã¯ãã®æåŸ ãããæ§é ãæç¢ºã«å®çŸ©ããŠããŸãã
2. API ã¬ã¹ãã³ã¹ã®åŠç
API ãæäœããå Žåãå€ãã®å Žåãã¬ã¹ãã³ã¹ããããŒã¿ãæœåºããããŸããŸãªæåããã³ãšã©ãŒã·ããªãªãåŠçããå¿ èŠããããŸãããã¿ãŒã³ãããã³ã°ã¬ãŒãã䜿çšãããšããã®ããã»ã¹ãããæŽçã§ããŸãã
async function fetchData(url) {
try {
const response = await fetch(url);
const data = await response.json();
if (!response.ok) {
// HTTP error
const { status, statusText } = response;
return { success: false, error: `HTTP error: ${status} - ${statusText}` };
}
if (!data || typeof data !== 'object') {
return { success: false, error: 'Invalid data format from API' };
}
const { items } = data;
if (!Array.isArray(items)) {
return { success: false, error: 'Missing or invalid items array.'}
}
return { success: true, data: items };
} catch (error) {
return { success: false, error: 'Network error or other exception.' };
}
}
// Simulate an API call
async function exampleUsage() {
const result = await fetchData('https://example.com/api/data');
if (result.success) {
console.log('Data:', result.data);
// Process the data
} else {
console.error('Error:', result.error);
// Handle the error
}
}
exampleUsage();
ãã®ã³ãŒãã¯ãHTTP ã¹ããŒã¿ã¹ã³ãŒããããŒã¿åœ¢åŒããã§ãã¯ããé¢é£ããŒã¿ãæœåºããããšã«ãããAPI ã¬ã¹ãã³ã¹ã广çã«ç®¡çããŸããæ§é åããããšã©ãŒã¡ãã»ãŒãžã䜿çšããŠããããããããã°ãç°¡åã«ãªããŸãããã®ã¢ãããŒãã§ã¯ãæ·±ããã¹ãããã `if/else` ãããã¯ã¯åé¿ãããŸãã
3. UI ãã¬ãŒã ã¯ãŒã¯ã§ã®æ¡ä»¶ä»ãã¬ã³ããªã³ã° (ReactãVueãAngular ãªã©)
ããã³ããšã³ãéçºãç¹ã« ReactãVueããŸã㯠Angular ãªã©ã®ãã¬ãŒã ã¯ãŒã¯ã䜿çšãããšãããŒã¿ããŠãŒã¶ãŒã€ã³ã¿ã©ã¯ã·ã§ã³ã«åºã¥ã㊠UI ã³ã³ããŒãã³ããæ¡ä»¶ä»ãã§ã¬ã³ããªã³ã°ããããšãé »ç¹ã«å¿ èŠã«ãªããŸãããããã®ãã¬ãŒã ã¯ãŒã¯ã¯çŽæ¥çãªã³ã³ããŒãã³ãã¬ã³ããªã³ã°æ©èœãæäŸããŸããããã¿ãŒã³ãããã³ã°ã¬ãŒãã䜿çšãããšãã³ã³ããŒãã³ãã®ã¡ãœããå ã®ããžãã¯ã®æŽçãæ¹åã§ããŸããããã«ãããç¶æ ã®ããããã£ããã€ãã©ã®ããã«äœ¿çšã㊠UI ãã¬ã³ããªã³ã°ããããæç¢ºã«è¡šçŸããããšã§ãã³ãŒãã®å¯èªæ§ãåäžããŸãã
äŸ (React): ãŠãŒã¶ãŒããŒã¿ãå©çšå¯èœã§æå¹ãªå Žåã«ã®ã¿ããŠãŒã¶ãŒãããã¡ã€ã«ã衚瀺ããã·ã³ãã«ãª React ã³ã³ããŒãã³ããèããŠã¿ãŸãããã
import React from 'react';
function UserProfile({ user }) {
// Guard condition using optional chaining and nullish coalescing.
const { name, email, profilePicUrl } = user ? (user.isActive && user.name && user.email ? user : {}) : {};
if (!name) {
return Loading...;
}
return (
{name}
Email: {email}
{profilePicUrl &&
}
);
}
export default UserProfile;
ãã® React ã³ã³ããŒãã³ãã¯ãæ¡ä»¶ããžãã¯ã䜿çšããŠåå²ä»£å ¥ã¹ããŒãã¡ã³ãã䜿çšããŸãã`user` ããããã£ãååšãããŠãŒã¶ãŒãã¢ã¯ãã£ãã§ãååãšã¡ãŒã«ã¢ãã¬ã¹ãããå Žåã«ã®ã¿ã`user` ããããã£ããããŒã¿ãæœåºããŸãããããã®æ¡ä»¶ã®ããããã倱æããå Žåãåå²ä»£å ¥ã¯ç©ºã®ãªããžã§ã¯ããæœåºãããšã©ãŒãåé¿ããŸãããã®ãã¿ãŒã³ã¯ã`UserProfile(null)` ãªã©ã芪ã³ã³ããŒãã³ãããã®æœåšç㪠`null` ãŸã㯠`undefined` ããããå€ãåŠçããéã«éèŠã§ãã
4. æ§æãã¡ã€ã«ã®åŠç
ãã¡ã€ã« (äŸ: JSON) ããæ§æèšå®ãããŒãããŠããã·ããªãªãæ³åããŠãã ãããæ§æãæåŸ ãããæ§é ãšæå¹ãªå€ãæã£ãŠããããšã確èªããå¿ èŠããããŸãããã¿ãŒã³ãããã³ã°ã¬ãŒãã䜿çšãããšããããç°¡åã«ãªããŸãã
function loadConfig(configData) {
if (!configData || typeof configData !== 'object') {
return { success: false, error: 'Invalid config format' };
}
const { apiUrl, apiKey, timeout } = configData;
if (
typeof apiUrl !== 'string' ||
!apiKey ||
typeof apiKey !== 'string' ||
typeof timeout !== 'number' ||
timeout <= 0
) {
return { success: false, error: 'Invalid config values' };
}
return {
success: true,
config: {
apiUrl, // Already declared as string, so no type casting is needed.
apiKey,
timeout,
},
};
}
const validConfig = {
apiUrl: 'https://api.example.com',
apiKey: 'YOUR_API_KEY',
timeout: 60,
};
const result1 = loadConfig(validConfig);
console.log(result1); // Output: { success: true, config: { apiUrl: 'https://api.example.com', apiKey: 'YOUR_API_KEY', timeout: 60 } }
const invalidConfig = {
apiUrl: 123, // invalid
apiKey: null,
timeout: -1 // invalid
};
const result2 = loadConfig(invalidConfig);
console.log(result2); // Output: { success: false, error: 'Invalid config values' }
ãã®ã³ãŒãã¯ãæ§æãã¡ã€ã«ã®æ§é ãšãã®ããããã£ã®åãæ€èšŒããŸããäžè¶³ããŠããæ§æå€ãŸãã¯ç¡å¹ãªæ§æå€ãæ£åžžã«åŠçããŸããããã«ãããã¢ããªã±ãŒã·ã§ã³ã®å ç¢æ§ãåäžãã圢åŒãæ£ãããªãæ§æãåå ã§çºçãããšã©ãŒãé²ããŸãã
5. æ©èœãã©ã°ãš A/B ãã¹ã
æ©èœãã©ã°ã䜿çšãããšãæ°ããã³ãŒãããããã€ããããšãªããã¢ããªã±ãŒã·ã§ã³ã®æ©èœãæå¹ãŸãã¯ç¡å¹ã«ã§ããŸãããã¿ãŒã³ãããã³ã°ã¬ãŒãã䜿çšããŠããã®å¶åŸ¡ã管çã§ããŸãã
const featureFlags = {
enableNewDashboard: true,
enableBetaFeature: false,
};
function renderComponent(props) {
const { user } = props;
if (featureFlags.enableNewDashboard) {
// Render the new dashboard
return ;
} else {
// Render the old dashboard
return ;
}
// The code can be made more expressive using a switch statement for multiple features.
}
ããã§ã¯ã`renderComponent` 颿°ã¯ãæ©èœãã©ã°ã«åºã¥ããŠããŸããŸãª UI ã³ã³ããŒãã³ããæ¡ä»¶ä»ãã§ã¬ã³ããªã³ã°ããŸãããã¿ãŒã³ãããã³ã°ã¬ãŒãã䜿çšãããšããããã®æ¡ä»¶ãæç¢ºã«è¡šçŸããã³ãŒãã®å¯èªæ§ã確ä¿ã§ããŸãããã®åããã¿ãŒã³ããç¹å®ã®ã«ãŒã«ã«åºã¥ããŠããŸããŸãªãŠãŒã¶ãŒã«ç°ãªãã³ã³ããŒãã³ããã¬ã³ããªã³ã°ããã A/B ãã¹ãã·ããªãªã§äœ¿çšã§ããŸãã
ãã¹ããã©ã¯ãã£ã¹ãšèæ ®äºé
1. ã¬ãŒããç°¡æœãã€çŠç¹ãçµã£ããã®ã«ä¿ã€
é床ã«è€éãªã¬ãŒãæ¡ä»¶ã¯é¿ããŠãã ãããããžãã¯ãè€éã«ãªããããå Žåã¯ããããå¥ã®é¢æ°ã«æœåºããããæŠç¥ãã¿ãŒã³ãªã©ã®ä»ã®èšèšãã¿ãŒã³ã䜿çšããŠãå¯èªæ§ãåäžãããŸããè€éãªæ¡ä»¶ããããå°ãããåå©çšå¯èœãªé¢æ°ã«åå²ããŸãã
2. å¯èªæ§ãåªå ãã
ãã¿ãŒã³ãããã³ã°ã¬ãŒãã䜿çšãããšãã³ãŒããããç°¡æœã«ããããšãã§ããŸãããåžžã«å¯èªæ§ãåªå ããŠãã ãããæå³ã®ãã倿°åã䜿çšããå¿ èŠã«å¿ããŠã³ã¡ã³ãã远å ããã³ãŒãã確å®ã«ãã©ãŒãããããŸããæç¢ºã§ä¿å®æ§ã®é«ãã³ãŒãã¯ãé床ã«è³¢æã§ããããšãããéèŠã§ãã
3. ä»£æ¿æ¡ãæ€èšãã
éåžžã«åçŽãªã¬ãŒãæ¡ä»¶ã®å Žåã¯ãæšæºã® `if/else` ã¹ããŒãã¡ã³ãã§ååãªå ŽåããããŸããããè€éãªããžãã¯ã®å Žåã¯ãæŠç¥ãã¿ãŒã³ãã¹ããŒããã·ã³ãªã©ã®ä»ã®èšèšãã¿ãŒã³ã䜿çšããŠãè€éãªæ¡ä»¶ã¯ãŒã¯ãããŒã管çããããšãæ€èšããŠãã ããã
4. ãã¹ã
ãã¿ãŒã³ãããã³ã°ã¬ãŒãå ã®ãã¹ãŠã®å¯èœãªãã©ã³ããå«ããã³ãŒãã培åºçã«ãã¹ãããŸããã¬ãŒããæåŸ ã©ããã«æ©èœããããšã確èªããããã«ãåäœãã¹ããäœæããŸããããã«ãããã³ãŒããæ£ããåäœãããšããžã±ãŒã¹ãæ©æã«ç¹å®ã§ããŸãã
5. 颿°åããã°ã©ãã³ã°ã®ååãæ¡çšãã
JavaScript ã¯çŽç²ãªé¢æ°åèšèªã§ã¯ãããŸããããã€ãã¥ãŒã¿ããªãã£ãçŽç²ãªé¢æ°ãªã©ã颿°åããã°ã©ãã³ã°ã®ååãé©çšããããšã§ããã¿ãŒã³ãããã³ã°ã¬ãŒããšåå²ä»£å ¥ã®äœ¿çšãè£å®ã§ããŸããããã«ãããå¯äœçšãå°ãªããªããããäºæž¬å¯èœãªã³ãŒããåŸãããŸããã«ãªãŒåãæ§æãªã©ã®ãã¯ããã¯ã䜿çšãããšãè€éãªããžãã¯ãããå°ããããã管çããããéšåã«åå²ã§ããŸãã
ãã¿ãŒã³ãããã³ã°ã¬ãŒãã䜿çšããããšã®å©ç¹
- ã³ãŒãã®å¯èªæ§ã®åäž: ãã¿ãŒã³ãããã³ã°ã¬ãŒãã¯ãç¹å®ã®ã»ããã®å€ãæœåºãŸãã¯åŠçãããã¹ãæ¡ä»¶ãæç¢ºã«å®çŸ©ããããšã«ãããã³ãŒããçè§£ããããããŸãã
- å®åæã®åæž: ãããã¯ãå埩ã³ãŒããšå®åæã®éãåæžããããã¯ãªãŒã³ãªã³ãŒãããŒã¹ã«ã€ãªãããŸãã
- ä¿å®æ§ã®åäž: ã¬ãŒãæ¡ä»¶ãžã®å€æŽãšæŽæ°ã¯ã管çã容æã«ãªããŸããããã¯ãããããã£ã®æœåºãå¶åŸ¡ããããžãã¯ããéäžçã§å®£èšçãªã¹ããŒãã¡ã³ãå ã«å«ãŸããŠããããã§ãã
- ãã衚çŸåè±ããªã³ãŒã: ã³ãŒãã®æå³ãããçŽæ¥çã«è¡šçŸã§ããŸããè€éãªãã¹ãããã `if/else` æ§é ãèšè¿°ãã代ããã«ãããŒã¿æ§é ã«çŽæ¥é¢é£ããæ¡ä»¶ãèšè¿°ã§ããŸãã
- ãããã°ã®å®¹æã: æ¡ä»¶ãšããŒã¿æœåºãæç€ºçã«ããããšã§ããããã°ã容æã«ãªããŸããããžãã¯ãæç¢ºã«å®çŸ©ãããŠãããããåé¡ã®ç¹å®ã容æã«ãªããŸãã
çµè«
ãã¿ãŒã³ãããã³ã°ã¬ãŒããšæ¡ä»¶ä»ãåå²ä»£å ¥ã¯ãããã¯ãªãŒã³ã§ãèªã¿ããããä¿å®æ§ã®é«ã JavaScript ã³ãŒããæžãããã®è²Žéãªãã¯ããã¯ã§ããããã«ãããæ¡ä»¶ä»ãããžãã¯ããããšã¬ã¬ã³ãã«ç®¡çããã³ãŒãã®å¯èªæ§ãåäžãããå®åæãåæžã§ããŸãããããã®ãã¯ããã¯ãçè§£ããŠé©çšããããšã§ãJavaScript ã¹ãã«ãé«ããããå ç¢ã§ä¿å®æ§ã®é«ãã¢ããªã±ãŒã·ã§ã³ãäœæã§ããŸããJavaScript ã®ãã¿ãŒã³ãããã³ã°ã®ãµããŒãã¯ãä»ã®ããã€ãã®èšèªã»ã©åºç¯å²ã§ã¯ãããŸããããåå²ä»£å ¥ãæ¡ä»¶æããªãã·ã§ã³ãã§ãŒãã³ã°ãNullish Coalescing æŒç®åã®çµã¿åããã䜿çšããŠãåãçµæã广çã«å®çŸã§ããŸãããããã®æŠå¿µãæ¡çšããŠãJavaScript ã³ãŒããæ¹åããŠãã ããïŒ
JavaScript ãé²åãç¶ããã«ã€ããŠãæ¡ä»¶ããžãã¯ãç°¡çŽ åããéçºè ãšã¯ã¹ããªãšã³ã¹ãåäžããããããã«è¡šçŸåè±ãã§åŒ·åãªæ©èœã远å ãããããšãæåŸ ã§ããŸããä»åŸã®éçºã«æ³šç®ãããããã®éèŠãª JavaScript ã¹ãã«ããã¹ã¿ãŒããããã«ç·Žç¿ãç¶ããŠãã ããïŒ